package ar.com.psicosoft.model.psicosoft;

import java.io.Serializable;
import javax.persistence.*;
import java.sql.Timestamp;
import java.util.List;

/**
 * The persistent class for the historia_clinica database table.
 * 
 */
@Entity
@Table(name = "historia_clinica", schema = "psicosoft")
@NamedQuery(name = "HistoriaClinica.findAll", query = "SELECT h FROM HistoriaClinica h")
public class HistoriaClinica implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@SequenceGenerator(name = "sec_historia_clinica", sequenceName = "psicosoft.sec_historia_clinica")
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sec_historia_clinica")
	@Column(name = "\"idHistoriaClinica\"", unique = true, nullable = false)
	private Integer idHistoriaClinica;

	private Timestamp baja;

	private Integer carpeta;

	@Column(name = "\"fechaAlta\"", nullable = false)
	private Timestamp fechaAlta;

	@Column(name = "\"fechaBaja\"")
	private Timestamp fechaBaja;

	@Column(length = 2147483647)
	private String observacion;

	@Column(name = "\"refAno\"")
	private Integer refAno;

	@Column(name = "\"refNumerica\"")
	private Integer refNumerica;

	// bi-directional many-to-one association to Tratamiento
	@OneToMany(mappedBy = "historiaClinica", targetEntity = Tratamiento.class)
	private List<Tratamiento> tratamientos;

	public HistoriaClinica() {
	}

	public Integer getIdHistoriaClinica() {
		return this.idHistoriaClinica;
	}

	public void setIdHistoriaClinica(Integer idHistoriaClinica) {
		this.idHistoriaClinica = idHistoriaClinica;
	}

	public Timestamp getBaja() {
		return this.baja;
	}

	public void setBaja(Timestamp baja) {
		this.baja = baja;
	}

	public Integer getCarpeta() {
		return this.carpeta;
	}

	public void setCarpeta(Integer carpeta) {
		this.carpeta = carpeta;
	}

	public Timestamp getFechaAlta() {
		return this.fechaAlta;
	}

	public void setFechaAlta(Timestamp fechaAlta) {
		this.fechaAlta = fechaAlta;
	}

	public Timestamp getFechaBaja() {
		return this.fechaBaja;
	}

	public void setFechaBaja(Timestamp fechaBaja) {
		this.fechaBaja = fechaBaja;
	}

	public String getObservacion() {
		return this.observacion;
	}

	public void setObservacion(String observacion) {
		this.observacion = observacion;
	}

	public Integer getRefAno() {
		return this.refAno;
	}

	public void setRefAno(Integer refAno) {
		this.refAno = refAno;
	}

	public Integer getRefNumerica() {
		return this.refNumerica;
	}

	public void setRefNumerica(Integer refNumerica) {
		this.refNumerica = refNumerica;
	}

	public List<Tratamiento> getTratamientos() {
		return this.tratamientos;
	}

	public void setTratamientos(List<Tratamiento> tratamientos) {
		this.tratamientos = tratamientos;
	}

	public Tratamiento addTratamientos(Tratamiento tratamientos) {
		getTratamientos().add(tratamientos);
		tratamientos.setHistoriaClinica(this);

		return tratamientos;
	}

	public Tratamiento removeTratamientos(Tratamiento tratamientos) {
		getTratamientos().remove(tratamientos);
		tratamientos.setHistoriaClinica(null);

		return tratamientos;
	}

}